<html>
	<head>
		<meta charset="utf-8"/>
		<title>BCamera</title>
		<link rel="stylesheet" type="text/css" href="../style.css"/>
	</head>
	<body>
		<h1>BCamera</h1>
		<p>Inherites from <a href="BNode.html">BNode</a></p>
		<h2>public</h2>
		<table id="public">
			<tr><td align="right"/><td><a href="#BCamera(const BString&)">BCamera</a>(const BString& name = BString());</td></tr>
			<tr><td align="right"/><td><a href="#~BCamera()">~BCamera</a>();</td></tr>
			<tr><td align="right">void </td><td><a href="#setCenter(float, float, float)">setCenter</a>(float x, float y, float z);</td></tr>
			<tr><td align="right">void </td><td><a href="#setCenter(const BVector&)">setCenter</a>(const BVector& center);</td></tr>
			<tr><td align="right">const BVector& </td><td><a href="#center()">center</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setUp(float, float, float)">setUp</a>(float x, float y, float z);</td></tr>
			<tr><td align="right">void </td><td><a href="#setUp(const BVector&)">setUp</a>(const BVector& up);</td></tr>
			<tr><td align="right">const BVector& </td><td><a href="#up()">up</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setOrtho(bool)">setOrtho</a>(bool ortho);</td></tr>
			<tr><td align="right">bool </td><td><a href="#ortho()">ortho</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setWidth(double)">setWidth</a>(double width);</td></tr>
			<tr><td align="right">double </td><td><a href="#width()">width</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setHeight(double)">setHeight</a>(double height);</td></tr>
			<tr><td align="right">double </td><td><a href="#height()">height</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setFovy(double)">setFovy</a>(double fovy);</td></tr>
			<tr><td align="right">double </td><td><a href="#fovy()">fovy</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setAspect(double)">setAspect</a>(double aspect);</td></tr>
			<tr><td align="right">double </td><td><a href="#aspect()">aspect</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setNear(double)">setNear</a>(double near);</td></tr>
			<tr><td align="right">double </td><td><a href="#near()">near</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setFar(double)">setFar</a>(double far);</td></tr>
			<tr><td align="right">double </td><td><a href="#far()">far</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setColor(BByte, BByte, BByte,BByte)">setColor</a>(BByte r, BByte g, BByte b, BByte a = 255);</td></tr>
			<tr><td align="right">void </td><td><a href="#setColor(const BColor&)">setColor</a>(const BColor& color);</td></tr>
			<tr><td align="right">const BColor& </td><td><a href="#color()">color</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setPixelSize(int, int)">setPixelSize</a>(int pixelWidth, int pixelHeight);</td></tr>
			<tr><td align="right">void </td><td><a href="#setPixelSize(const BSize&)">setPixelSize</a>(const BSize& pixelSize);</td></tr>
			<tr><td align="right">const BSize& </td><td><a href="#pixelSize()">pixelSize</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setPhotoImage(BImage*)">setPhotoImage</a>(BImage* image);</td></tr>
			<tr><td align="right">const BImage* </td><td><a href="#photoImage()">photoImage</a>() const;</td></tr>
			<tr><td align="right">BImage* </td><td><a href="#photoImage()">photoImage</a>();</td></tr>
			<tr><td align="right">void </td><td><a href="#fresh()">fresh</a>() const;</td></tr>
			<tr><td align="right">bool </td><td><a href="#query(const char*, const BValue&)">query</a>(const char* name, const BValue& value) const;</td></tr>
		</table>
		<h2>protected</h2>
		<table id="protected"/>
		<div id="desc">
			<h2>Detailed Description : </h2>
			<p>BCamera is a special node contains data to define how the viewer display the scene.</p>
			<p>Camera has frame buffer, fresh() dirty the camera then each viewer which using this camera will be freshed.</p>
			<h4>Signals:</h4><table>
				<tr><td/><td/></tr>
				<tr><td/><td/></tr></table>
			<p>See also : <a href="BViewer.html">BViewer</a><a href="BScene.html">BScene</a></p>
		</div>
		<h2 id="docs">Member Function Documentation</h2>
		<div id="BCamera(const BString&)">
			<h3>BCamera(const BString& name = BString());</h3>
			<p>Constructs camera with the name.</p>
		</div>
		<div id="~BCamera()">
			<p/>
			<h3>~BCamera();</h3>
			<p>Destroys the camera.</p>
		</div>
		<div id="setCenter(float, float, float)">
			<h3>void setCenter(float x, float y, float z);</h3>
		</div>
		<div id="setCenter(const BVector&)">
			<h3>void setCenter(const BVector& center);</h3>
			<p>Center is focus point of camera, camera will rotate around it and move front or back to it.</p>
		</div>
		<div id="center()">
			<h3>const BVector& center() const;</h3>
			<p>Get focus point of camera.</p>
		</div>
		<div id="setUp(float, float, float)">
			<h3>void setUp(float x, float y, float z);</h3>
			<p>This is convenient metho set up direction of camera use setUp(const BVector&).</p>
		</div>
		<div id="setUp(const BVector&)">
			<h3>void setUp(const BVector& up);</h3>
			<p>Set camera up direction vector, which define rotate axis of camera.</p>
		</div>
		<div id="up()">
			<h3>const BVector& up() const;</h3>
			<p>Get camera up direction vector.</p>
		</div>
		<div id="setOrtho(bool)">
			<h3>void setOrtho(bool ortho);</h3>
			<p>If ortho is true, this is a ortho camera which's near face has same size as the far face, and fovy is unused.If ortho is false, this is a projective camera, and fovy is used.</p>
		</div>
		<div id="ortho()">
			<h3>bool ortho() const;</h3>
		</div>
		<div id="setWidth(double)">
			<h3>void setWidth(double width);</h3>
			<p>Set pixel width of camera, the height of camera will be adjusted according to aspect value.</p>
		</div>
		<div id="width()">
			<h3>double width() const;</h3>
			<p>Get pixel width of this camera.</p>
		</div>
		<div id="setHeight(double)">
			<h3>void setHeight(double height);</h3>
			<p>Set pixel height of camera, the width of camera will be adjusted according to apect value.</p>
		</div>
		<div id="height()">
			<h3>double height() const;</h3>
			<p>Get pixel height of camera.</p>
		</div>
		<div id="setFovy(double)">
			<h3>void setFovy(double fovy);</h3>
			<p>The fovy defines how big the angle of view, it only works when ortho is false;</p>
		</div>
		<div id="fovy()">
			<h3>double fovy() const;</h3>
			<p>Get the angle value of view.</p>
		</div>
		<div id="setAspect(double)">
			<h3>void setAspect(double aspect);</h3>
			<p>Aspect value locked the ratio of width to height.</p>
		</div>
		<div id="aspect()">
			<h3>double aspect() const;</h3>
			<p>Get ratio of width to height.</p>
		</div>
		<div id="setNear(double)">
			<h3>void setNear(double near);</h3>
		</div>
		<div id="near()">
			<h3>double near() const;</h3>
		</div>
		<div id="setFar(double)">
			<h3>void setFar(double far);</h3>
		</div>
		<div id="far()">
			<h3>double far() const;</h3>
		</div>
		<div id="setColor(BByte, BByte, BByte,BByte)">
			<h3>void setColor(BByte r, BByte g, BByte b, BByte a = 255);</h3>
		</div>
		<div id="setColor(const BColor&)">
			<h3>void setColor(const BColor& color);</h3>
			<p>This color means the clear color of camera.</p>
		</div>
		<div id="color()">
			<h3>const BColor& color() const;</h3>
			<p>Get the clear color of camera.</p>
		</div>
		<div id="setPixelSize(int, int)">
			<h3>void setPixelSize(int pixelWidth, int pixelHeight);</h3>
		</div>
		<div id="setPixelSize(const BSize&)">
			<h3>void setPixelSize(const BSize& pixelSize);</h3>
		</div>
		<div id="pixelSize()">
			<h3>const BSize& pixelSize() const;</h3>
		</div>
		<div id="setPhotoImage(BImage*)">
			<h3>void setPhotoImage(BImage* image);</h3>
			<p>Photo image will be written when this camera is freshed. Camera is constructed without photo image.</p>
		</div>
		<div id="photoImage()">
			<h3>const BImage* photoImage() const;</h3>
			<p>Get the photo image.</p>
		</div>
		<div id="photoImage()">
			<h3>BImage* photoImage();</h3>
		</div>
		<div id="fresh()">
			<h3>void fresh() const;</h3>
			<p>Sign this camera is dirty, each viewer which has this camera as current will be freshed, each scene which contains tis camera will be freshed.</p>
		</div>
		<div id="query(const char*, const BValue&)">
			<h3>bool query(const char* name, const BValue& value) const;</h3><table>
				<tr><td/></tr></table>
		</div>
	</body>
</html>